#pragma once
#include <iostream>
#include <semaphore.h>

class Sem
{
public:
    Sem(int n)
    {
        sem.init(&_sem,0,n);
    }
    void V()
    {
        sem.wait(&_sem);
    }
    void P()
    {
        sem.post(&_sem);
    }
    ~Sem()
    {
        sem.destroy(&_sem);
    }
private:
    sem_t _sem;
};